package com.inforich.report.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.inforich.report.domain.ResourceBooking;
import com.inforich.report.domain.ResourceFilings;
import com.inforich.report.domain.ResourceLandInfo;
import com.inforich.report.domain.ResourceRubbishProduce;
import com.inforich.report.domain.ResourceRubbishTransport;
import com.inforich.report.domain.ResourceUnsign;
import com.inforich.report.domain.ResourceVehicleDetail;
import com.inforich.report.domain.ResourceVehicleMonth;
import com.inforich.report.domain.ResourceVehicleOut;
import com.inforich.report.domain.ResourceVehicleOutDetail;
import com.inforich.report.domain.ResourceVehicleOutTransport;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * @description: some desc
 * @author: HJM
 * @date: 2023/7/4
 */
@Mapper
public interface ReportMapper {

  Page<ResourceFilings> pageResourceFilings(Page<ResourceFilings> page,
      @Param("map") Map<String, Object> map);

  List<ResourceFilings> listResourceFilings(@Param("map") Map<String, Object> map);

  Page<ResourceBooking> pageResourceBooking(Page<ResourceBooking> page,
      @Param("map") Map<String, Object> map);

  List<ResourceBooking> listResourceBooking(@Param("map") Map<String, Object> map);

  Page<ResourceRubbishProduce> pageResourceRubbishProduce(Page<ResourceRubbishProduce> page,
      @Param("map") Map<String, Object> map);

  List<ResourceRubbishProduce> listResourceRubbishProduce(@Param("map") Map<String, Object> map);

  Page<ResourceRubbishTransport> pageResourceRubbishTransport(Page<ResourceRubbishTransport> page,
      @Param("map") Map<String, Object> map);

  List<ResourceRubbishTransport> listResourceRubbishTransport(
      @Param("map") Map<String, Object> map);

  Page<ResourceVehicleDetail> pageResourceVehicleDetail(Page<ResourceVehicleDetail> page,
      @Param("map") Map<String, Object> map);

  List<ResourceVehicleDetail> listResourceVehicleDetail(@Param("map") Map<String, Object> map);

  Page<ResourceVehicleMonth> pageResourceVehicleMonth(Page<ResourceVehicleMonth> page,
      @Param("map") Map<String, Object> map);

  List<ResourceVehicleMonth> listResourceVehicleMonth(@Param("map") Map<String, Object> map);

  /**
   * 根据项目ID统计总净重
   */
  List<ResourceVehicleMonth> listResourceVehicleTotal(@Param("map") Map<String, Object> map);

  Page<ResourceLandInfo> pageResourceLandInfo(Page<ResourceLandInfo> page,
      @Param("map") Map<String, Object> map);

  List<ResourceLandInfo> listResourceLandInfo(@Param("map") Map<String, Object> map);

  List<ResourceLandInfo> listResourceLandInfoTotal(@Param("map") Map<String, Object> map);

  /**
   * 8、资源化企业出厂信息汇总表
   */
  Page<ResourceVehicleOut> pageResourceVehicleOut(Page<ResourceVehicleOut> page,
      @Param("map") Map<String, Object> map);

  List<ResourceVehicleOut> listResourceVehicleOut(@Param("map") Map<String, Object> map);

  /**
   * 9、资源化企业再生产品出厂运输表
   */
  Page<ResourceVehicleOutTransport> pageResourceVehicleOutTransport(
      Page<ResourceVehicleOutTransport> page, @Param("map") Map<String, Object> map);

  List<ResourceVehicleOutTransport> listResourceVehicleOutTransport(
      @Param("map") Map<String, Object> map);

  /**
   * 10、资源化企业再生产品出厂信息明细表
   */
  Page<ResourceVehicleOutDetail> pageResourceVehicleOutDetail(Page<ResourceVehicleOutDetail> page,
      @Param("map") Map<String, Object> map);

  List<ResourceVehicleOutDetail> listResourceVehicleOutDetail(
      @Param("map") Map<String, Object> map);

  /**
   * 11、报警信息汇总表
   */
  Page<ResourceUnsign> pageResourceUnsign(Page<ResourceUnsign> page,
      @Param("map") Map<String, Object> map);

  List<ResourceUnsign> listResourceUnsign(@Param("map") Map<String, Object> map);
}
